In certain applications, computation of maxima and minima is extensive. For such applications, it is desirable to represent a number in thermometer code since calculation of maxima or minima becomes a straightforward process. Thermometer coded data is used to indicate a specific value represented by the data. For example, the value of 5 in thermometer code is represented in binary form as 00011111 for an 8 bit data format. The more logic "1s" in the data in right justified order, the higher the value, and vice versa.
One disadvantage of a straight thermometer code is the number of bits required to represent a number e.g. 64 bits to represent a value of 63. One solution around this problem is to represent each digit of a multidigit number in thermometer code. To represent a value of 63, a two digit octal number can be used, one for each digit of the value. If each octal number has 8 bits, then 16 bits of data rather than 64 bits will be needed to represent the value.
Some computations will require arithmetic operations besides maxima and minima processing. Conventional signal processing technology cannot simply and accurately perform arithmetic operations on thermometer coded words. Further, conventional technology cannot perform arithmetic operation or multi digit representations of thermometer coded data. It is thus desirable to have a circuit which can perform addition and subtraction of thermometer coded words to enhance signal processing of data represented in thermometer code.
From the foregoing, it may be appreciated that a need has arisen for a method and device for processing thermometer coded data. A need has also arisen for a method and device which can perform arithmetic functions on thermometer coded data. A need has also arisen to perform arithmetic operations on multi digit representations of thermometer coded data. Further, a need has arisen for a method and device which can add and subtract two thermometer coded words.